home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
HamCall (April 1991)
/
HAMCALL CD-ROM (Buckmaster)(April 1991).BIN
/
prgming
/
ctutor
/
intro.txt
< prev
next >
Wrap
Text File
|
1990-10-14
|
7KB
|
174 lines
Introduction to the C Tutorial
C IS USUALLY FIRST
______________________________________________________________
The programming language C, was originally developed by Dennis
Ritchie of Bell Laboratories and was designed to run on a
PDP-11 with a UNIX operating system. Although it was
originally intended to run under UNIX, there has been a great
interest in running it under the MS-DOS operating system and
specifically on the IBM PC and compatibles. It is an
excellent language for this environment because of the
simplicity of expression, the compactness of the code, and the
wide range of applicability. Also, due to the simplicity and
ease of writing a C compiler, it is usually the first high
level language available on any new computer, including
microcomputers, minicomputers, and mainframes.
It is not a good "beginning" language because it is somewhat
cryptic in nature. It allows the programmer a wide range of
operations from high level down to a very low level,
approaching the level of assembly language. There seems to
be no limit to the flexibility available. One experienced C
programmer made the statement, "You can program anything in
C", and the statement is well supported by my own experience
with the language. Along with the resulting freedom however,
you take on a great deal of responsibility because it is very
easy to write a program that destroys itself due to the silly
little errors that a good Pascal compiler will flag and call
a fatal error. In C, you are very much on your own as you
will soon find.
I ASSUME YOU KNOW A LITTLE PROGRAMMING
______________________________________________________________
Since C is not a beginners language, I will assume you are not
a beginning programmer, and I will not attempt to bore you by
defining a constant and a variable. You will be expected to
know these basic concepts. You will, however, be expected to
know nothing of the C programming language. I will begin with
the most basic concepts of C and take you up to the highest
level of C programming including the usually intimidating
concepts of pointers, structures, and dynamic allocation. To
fully understand these concepts, it will take a good bit of
time and work on your part because they not particularly easy
to grasp, but they are very powerful tools. Enough said about
that, you will see their power when we get there, just don't
allow yourself to worry about them yet.
Programming in C is a tremendous asset in those areas where
you may want to use Assembly Language but would rather keep
it a "simple to write" and "easy to maintain" program. It has
I-1
Introduction to C
been said that a program written in C will pay a premium of
a 20 to 50% increase in runtime because no high level language
is as compact or as fast as Assembly Language. However, the
time saved in coding can be tremendous, making it the most
desirable language for many programming chores. In addition,
since most programs spend 90 percent of their operating time
in only 10 percent or less of the code, it is possible to
write a program in C, then rewrite a small portion of the code
in Assembly Language and approach the execution speed of the
same program if it were written entirely in Assembly Language.
Even though the C language enjoys a good record when programs
are transported from one implementation to another, there are
differences in compilers as you will find anytime you try to
use another compiler. Most of the differences become apparent
when you use nonstandard extensions such as calls to the DOS
BIOS when using MS-DOS, but even these differences can be
minimized by careful choice of programming means.
Throughout this tutorial, every attempt will be made to
indicate to you what constructs are available in every C
compiler because they are part of the accepted standard of
programming practice.
YOU MAY NEED A LITTLE HELP
______________________________________________________________
Modern C compilers are very capable systems, but due to the
tremendous versatility of a C compiler, it could be very
difficult for you to learn how to use it effectively. If you
are a complete novice to programming, you will probably find
the installation instructions somewhat confusing. You may be
able to find a colleague or friend that is knowledgeable about
computers to aid you in setting up your compiler for use.
This tutorial cannot cover all aspects of programming in C,
simply because there is too much to cover, but it will
instruct you in all you need for the majority of your
programming in C. You will receive instruction in all of the
programming constructs in C, but what must be omitted are
methods of programming since these can only be learned by
experience. More importantly, it will teach you the
vocabulary of C so that you can go on to the more advanced
techniques of using the programming language C. A diligent
effort on your part to study the material presented in this
tutorial will result in a solid base of knowledge of the C
programming language. You will then be able to intelligently
read technical articles or other textbooks on C and greatly
expand your knowledge of this modern and very popular
programming language.
I-2
Introduction to C
HOW TO USE THIS TUTORIAL
______________________________________________________________
This tutorial was originally written in such a way that the
student would sit before his computer and study each example
program by displaying it on the monitor and reading the text
which corresponds to that program. Following his study of
each program, he would then compile and execute it and observe
the results of execution with his compiler. This enables the
student to gain experience using his compiler while he is
learning the C programming language. It is strongly
recommended that the student study each example program in the
given sequence then write the programs suggested at the end
of each chapter in order to gain experience in writing C
programs.
I-3